home *** CD-ROM | disk | FTP | other *** search
/ BMUG PD-ROM B4 / PD-ROM B4.iso / Entertainment / Strategy / Robots / Mech Zone / Sample Robots / Topper < prev   
Text File  |  1991-09-07  |  2KB  |  72 lines

  1. ` Totally modular implementation of Topper.
  2.  
  3. Equip 4 0 0 10 0 260
  4.  
  5. ` Go to top of screen.
  6.  
  7. while ycoord > 1 begin
  8.       if enginestat = 0 then engineon
  9.       objectscan 0
  10.       while range > 0 begin
  11.               zap
  12.               objectscan 0
  13.       end     ` {while range > 0}
  14.       if ycoord > 1 then begin
  15.               if enginestat = 0 then engineon
  16.               if decoy > 0 then dropdecoy
  17.               if enginestat = 1 then wait 1
  18.       end ` {if ycoord}
  19. end ` {while}
  20.  
  21. if enginestat = 1 then engineoff
  22.  
  23. while 1 = 1 begin
  24.         let swivelamt = 90 - headfacing
  25.         if swivelamt <> 0 then swivel swivelamt
  26.         objectscan 90
  27.         if range > 0 then let targetdir = 3
  28.         else let targetdir = 7
  29.         gosub 1000 `{turnto targetdir}
  30.         engineon
  31.         let swivelamt = 0 - bearing
  32.         if swivelamt <> 0 then swivel swivelamt
  33.         objectscan 0
  34.         while range > 0 begin
  35.                 zap
  36.                 objectscan 0
  37.         end
  38.         else begin
  39.                 if enginestat = 0 then engineon
  40.                 let swivelamt = 180 - headfacing
  41.                 if swivelamt <> 0 then swivel swivelamt ` "If" probably unnecessary.
  42.                 objectscan 0
  43.                 while range = 0 begin
  44.                         if decoy > 0 then dropdecoy
  45.                         objectscan 0
  46.                 end
  47.                 while range > 0 begin
  48.                         if enginestat = 1 then engineoff
  49.                         zap
  50.                         objectscan 0
  51.                 end
  52.         end
  53. end
  54.  
  55. ` Subroutine to turn robot toward a given targetdir.
  56.  
  57. 1000 let turnto = 1     ` Dummy code for cosmetic purposes.
  58.  
  59. if targetdir <> bodyfacing then begin
  60.         let turndir = targetdir - bodyfacing
  61.         if turndir < 0 then let turndir = turndir + 8
  62.         if turndir > 4 then let turndir = turndir - 8
  63.         while bodyfacing <> targetdir begin
  64.                 turn turndir
  65.                 let debug2 = targetdir
  66.                 let debug3 = bodyfacing
  67.                 if bodyfacing = targetdir then zap
  68.                 else let debug1 = 4
  69.         end
  70. end
  71. return
  72.